from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base
from sqlalchemy.orm import sessionmaker

# SQL Server 连接字符串格式（使用 pyodbc 驱动）
SQLALCHEMY_DATABASE_URL = "mssql+pyodbc://username:password@server_name/database_name?driver=ODBC+Driver+17+for+SQL+Server"

# 或者使用 pymssql 驱动（不推荐，已逐渐淘汰）
# SQLALCHEMY_DATABASE_URL = "mssql+pymssql://username:password@server_name/database_name"

# 启动引擎（SQL Server 可能需要额外的参数）
engine = create_engine(
    SQLALCHEMY_DATABASE_URL,
    echo=True,  # 调试模式下打印 SQL
    pool_pre_ping=True,  # 防止连接超时
    connect_args={
        "timeout": 30,  # 连接超时时间（秒）
    }
)

# 会话工厂
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

# ORM 基类
Base = declarative_base()
